package com.smfx.yxt.daoSqlserver;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.smfx.yxt.model.KccsCourseInfo;
import com.smfx.yxt.page.Page;
import com.smfx.yxt.reqVo.BaseQueryVO;
import com.smfx.yxt.reqVo.KccsCourseQueryVO;
import com.smfx.yxt.view.KccsCourseView;

public interface KccsCourseInfoMapper {

    int insertSelective(KccsCourseInfo record);

    KccsCourseInfo selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(KccsCourseInfo record);
    //查询待审核的课程
    List<KccsCourseInfo> selectPendingList(Page<KccsCourseInfo> page);
    //查询已审核的课程
    List<KccsCourseInfo> selectApprovedList(Page<KccsCourseInfo> page);
    //查询申请的课程列表
    List<KccsCourseInfo> selectApplyList(Integer teacherId);
    //查询任课的课程列表
    List<KccsCourseInfo> selectListForTeaching(Integer teacherId);
    //查看可报名的课程详情
    KccsCourseView selectSignCourseDetail(BaseQueryVO vo);
    //查看可报名的课程列表
    List<KccsCourseView> selectSignCourseList(BaseQueryVO vo);
    //查询课程报名人数是否已过
    int selectCourseSignLimit(KccsCourseQueryVO vo);
    //修改课程类型
    int updateCourseType(List<KccsCourseInfo> list);
    
    List<KccsCourseInfo> selectListByPage(Page<KccsCourseInfo> page);
    
    int updateBatchCourseStatus(@Param("list")List<String> list, 
    		@Param("isAgree")Integer isAgree,
    		@Param("updaterId")Integer updaterId,
    		@Param("updater")String updater);
    
}